package com.edu.leetcode.dataStruct;

/**
 * 给定一个排序数组和一个目标值，在数组中找到目标值，并返回其索引。如果目标值不存在于数组中，返回它将会被按顺序插入的位置。
 * 你可以假设数组中无重复元素。
 *
 * @作者 five-five
 * @创建时间 2021/4/21
 */
public class Demo25 {
    public static void main(String[] args) {
        Demo25 demo25 = new Demo25();
        int[] nums = new int[]{1,3,5,6};
        int i = demo25.searchInsert(nums, 2);
        System.out.println(i);
    }

    /**
     * @param nums   你要操作的数组
     * @param target 目标数
     * @return 下标
     */
    public int searchInsert(int[] nums, int target) {
        //直接先把特例给排除掉
        if (nums == null || nums.length == 0) {
            return 0;
        }
        if (nums[0] > target) {
            return 0;
        }
        if (target > nums[nums.length-1]) {
            return nums.length;
        }
        int index = 0;
        for (int i = 0; i < nums.length; i++) {
            int num = nums[i];
            if (num == target) {
                return i;
            }
            //开始记录
            if (num < target) {
                index = i;
            }
        }
        return index+1;
    }

}
